Skip to content

Conversation

@kellan-simiotics
Copy link
Contributor

No description provided.

Copy link
Collaborator

@zomglings zomglings left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions/comments.

IERC721 nft = IERC721(istore.ContractERC721Address);

require(
msg.sender == nft.ownerOf(subjectTokenID),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want this? Don't we want it so that we can mint achievements to an NFT? We won't be owners of that NFT.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, you are leaning on adminBatchMintToInventory for that. I guess I'm ok with this. Wouldn't mind it being permissionless, though, as long as the msg.sender has a valid signature.

.EquippedItems[istore.ContractERC721Address][subjectTokenId][poolId]
.ItemType != 0
) {
_unequip(subjectTokenId, poolId, true, 0);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the slots are persistent, wouldn't this revert anyway? Or is the behavior different for the internal _unequip method? Or different for players and admins?

There's a lot of reasoning that goes into understanding what happens here.

I'd rather we had an explicit reversion. Perhaps we need a method that helps us rescue ourselves from erroneously granting achievements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants